<%
	/*@ 扩展对象的静态方法 */		
	Object.extend
	(
		Number,
		{
			//->检测最大值
			max:Math.max,
			//->检测最小值
			min:Math.min
		}
	);
	/*@ 扩展对象的原型方法 */	
	Object.extend
	(
		Number.prototype,
		{
			//->返回绝对值
			abs:function()
			{
				return Math.abs(this);
			},
			//->返回比当前整数大1的数
			ceil:function()
			{
				//4.1=-4,4.1=5
				return Math.ceil(this);
			},
			//->强制数值
			constrain:function($min,$max)
			{
				return (this>=$min&&this<=$max) ? this : (this<$min ? $min:$max);
			},								
			//->返回比当前整数小1的数
			floor:function()
			{
				//4.1=-5,4.1=4
				return Math.floor(this);
			},
			//格式化数字
			format:function($dd,$isGroup,$sign)
			{
				var returnValue=String(($dd==undefined) ? this:(this.toFixed($dd)));	
				if($isGroup==true)
				{
					while(returnValue.match(/(\d+)(\d{3})/))
					{					
						returnValue=returnValue.replace(/(\d+)(\d{3})/,'$1'+($sign||',')+'$2')  
					}  
				}
				return returnValue;
			},
			//->格式化货币
			formatCurrency:function($dd,$isGroup,$ls,$sign)
			{
				var returnValue=this.format($dd,$isGroup,$sign);
				return ($ls||'')+returnValue;
			},					
			//->浮点数检测
			isFloat:function()
			{
				return (this==0) ? false:(parseInt(this)!=this);
			},			
			//->整数检测
			isInteger:function()
			{
				return parseInt(this)==this;
			},
			//->是否负数
			isNegative:function()
			{
				return this.sign()==-1 ? true:false;
			},				
			//->是否正数
			isPositive:function()
			{
				return this.sign()==1 ? true:false;
			},
			//->四啥五入的返回整数部分
			round:function()
			{
				//4.5=5,4.49=4
				return Math.round(this);
			},			
			//->数字符号检测
			sign:function()
			{
				if(this>0)
					return 1;
				else if(this<0)
					return -1;
				else
					return 0;
			},			
			//->自加1
			succ:function($value)
			{
				return this+(($value==undefined||typeof($value)!='number') ? 1:$value);
			},
			//->迭代
			times:function($iterator)
			{
				//下标从0开始
			    $R(0,this,true).each($iterator);
    			return this;
			},	
			//->转换成2进制字符串
			toBinary:function()
			{
				var binaryLength=this.toString(2);
				if(binaryLength.length<=8)
					return this.toPaddedString(8,2);
				else if(binaryLength.length<=16)
					return this.toPaddedString(16,2);
				else if(binaryLength.length<=32)
					return this.toPaddedString(32,2);
				else if(binaryLength.length<=64)
					return this.toPaddedString(64,2);
				else
					return this.toString(2);
			},		
			//->转换成货币显示方式
			toCurrency:function($ls,$dd)
			{
				return this.formatCurrency(($dd||2),true,($ls||'￥'));
			},	
			//->转换成在浮点数
			toFloat:function($dd)
			{
				return ($dd==undefined) ? parseFloat(this):this.toFixed($dd);
			},			
			//->转换成16进制字符串
			toHex:function()
			{
				return '0x'+this.toString(16);
			},
			//-->转换成整数
			toInteger:function($radix)
			{
				return parseInt(this,($radix||10));
			},			
			//->转换成8进制字符串
			toOct:function()
			{
				return '0'+this.toString(8);
			},			
			//->数字补全
			toPaddedString:function($length,$radix)
			{
				var string = this.toString($radix || 10);
				return '0'.times($length - string.length) + string;
			},			
			//->转换成百分数
			toPercent:function($dd,$isGroup)
			{
				//$dd(Decimal digits) -> 保留位数 
				return (this.isInteger()==true) ? (this*100).format(null,($isGroup||false))+'%' :( this*100).format($dd,($isGroup||false))+'%';
			}
		}
	);
	/*@ 扩展对象方法别名 */
	Object.extend
	(
		Number.prototype,
		{
			formatCurr:Number.prototype.formatCurrency,
			isInt:Number.prototype.isInteger,
			isReal:Number.prototype.isFloat,			
			limit:Number.prototype.constrain,
			toBin:Number.prototype.toBinary,
			toCurr:Number.prototype.toCurrency,
			toInt:Number.prototype.toInteger,			
			toReal:Number.prototype.toFloat						
		}
	);
%>